## 17.12. If It's Too Hard (or Easy) to Move the Pointer Between Pages

If you're trying to navigate the desktop by moving the pointer and you find it either too easy or too difficult to go from one page to the next, there's a configuration file variable you can customize. The aptly named EdgeResistance variable lets you adjust how easy it is to move the pointer beyond the perimeter of the current page.

The variable takes two parameters. The first is more relevant to the problem at hand: the number of milliseconds the pointer must be at the screen edge before you'll be moved onto the next page. The second parameter has to do with the way a window is moved between pages: it's the number of pixels over the edge of the screen a window's border must move before it moves partially off the screen. Typical default settings are:

>     EdgeResistance 250 10

Some people find the EdgeResistance they're working with is too low for them, the inconvenient result being that they inadvertently knock the pointer off of the current screen page. If this is your problem, you can increase the first parameter:

>     EdgeResistance 500 10

A first parameter between 500 and 1000 will greatly enhance the resistance. The maximum resistance is 10000, which actually makes it impossible to page over.

As it happens, if you have the opposite problem and have to bounce the mouse against what feels like a hard rubber wall in order to page over, try reducing the first number:

>     EdgeResistance 100 10

In a typical default configuration, fvwm2 is set up to provide a number of menu options that let you change your paging options on the fly. A number of them are located on the Fvwm Simple Config Ops menu, a submenu of the Root menu. Thus, you can toggle the ability to page on and off with Full Paging On and All Paging Off.

All Paging Off does exactly what it sounds like -- it limits you to keeping the pointer on the current page. You might prefer this if you're going to be working on that page for a while and you don't want to worry about knocking the pointer onto another page. You can toggle paging back on with the Full Paging On menu item.

There are other items to constrain paging in different ways (e.g., Horizontal Paging Only, Vertical Paging Only).

The Partial Paging item lets you move the pointer so that the view straddles two adjacent pages; the area you see will be highlighted in the Pager window.

The item Full Paging & Edge Wrap actually expands the range of paging possibilities. Normally when you reach the edge of a desktop, you can't move the pointer beyond. With this item selected, you can drag the pointer beyond the edge of the desktop, and it wraps around to the page on the other side (either horizontally or vertically). Thus, if you have the pointer in the upper-right page of a two-by-two desktop, and you drag the pointer off of the right edge, it will wrap around to the upper-left page of that desktop.

Underlying all of these menu items is the EdgeScroll variable. Here are the EdgeScroll parameters that map to the various menu items:

>     Full Paging ON               EdgeScroll 100 100
>     All Paging OFF               EdgeScroll 0 0
>     Horizontal Paging Only       EdgeScroll 100 0
>     Vertical Paging Only         EdgeScroll 0 100
>     Partial Paging               EdgeScroll 50 50
>     Full Paging & Edge Wrap      EdgeScroll 100000 100000

EdgeScroll's two parameters specify the percentage of a page to scroll when you reach the border of the page. The first parameter is for horizontal moves, the second for vertical. If the horizontal and vertical percentages are multipled by 1000, scrolling will wrap around at the edge of the desktop. `EdgeScroll 100000 100000` will wrap both for both horizontal and vertical moves.

Rather than rely on menu items like these, you could make any of these a default behavior by putting the EdgeScroll variable on its own line in your .fvwm2rc file. See the fvwm2 manpage and check out the system.fvwm2rc file for guidance.

Note that none of these variations will scroll you from one desktop to another. The next section shows how to configure some keyboard shortcuts to do just that.

Copyright © 2001 O'Reilly & Associates. All rights reserved.